﻿using System;

namespace SharpSqlAnalyzer.nodes.mysql
{
	// Token: 0x020003AF RID: 943
	public class TMySQLIndexOption : TParseTreeNode
	{
		// Token: 0x1700087A RID: 2170
		// (get) Token: 0x0600268E RID: 9870 RVA: 0x0033AAB1 File Offset: 0x00338CB1
		// (set) Token: 0x0600268F RID: 9871 RVA: 0x0033AAB9 File Offset: 0x00338CB9
		public TConstant keyBlockSize
		{
			get
			{
				return this._keyBlockSize;
			}
			set
			{
				this._keyBlockSize = value;
			}
		}

		// Token: 0x1700087B RID: 2171
		// (get) Token: 0x06002690 RID: 9872 RVA: 0x0033AAC2 File Offset: 0x00338CC2
		// (set) Token: 0x06002691 RID: 9873 RVA: 0x0033AACA File Offset: 0x00338CCA
		public TConstant indexComment
		{
			get
			{
				return this._indexComment;
			}
			set
			{
				this._indexComment = value;
			}
		}

		// Token: 0x1700087C RID: 2172
		// (get) Token: 0x06002692 RID: 9874 RVA: 0x0033AAD3 File Offset: 0x00338CD3
		// (set) Token: 0x06002693 RID: 9875 RVA: 0x0033AADB File Offset: 0x00338CDB
		public string parserName
		{
			get
			{
				return this._parserName;
			}
			set
			{
				this._parserName = value;
			}
		}

		// Token: 0x1700087D RID: 2173
		// (get) Token: 0x06002694 RID: 9876 RVA: 0x0033AAE4 File Offset: 0x00338CE4
		// (set) Token: 0x06002695 RID: 9877 RVA: 0x0033AAEC File Offset: 0x00338CEC
		public EIndexOptionType indexOptionType
		{
			get
			{
				return this._indexOptionType;
			}
			set
			{
				this._indexOptionType = value;
			}
		}

		// Token: 0x06002696 RID: 9878 RVA: 0x0033AAF5 File Offset: 0x00338CF5
		public override void init(object arg1)
		{
			this._indexOptionType = (EIndexOptionType)arg1;
		}

		// Token: 0x06002697 RID: 9879 RVA: 0x0033AB04 File Offset: 0x00338D04
		public override void init(object arg1, object arg2)
		{
			this.init(arg1);
			switch (this._indexOptionType)
			{
			case EIndexOptionType.iotKeyBlockSize:
				this._keyBlockSize = (TConstant)arg2;
				return;
			case EIndexOptionType.iotIndexTypeBtree:
			case EIndexOptionType.iotIndexTypeHash:
				break;
			case EIndexOptionType.iotWithParser:
				this._parserName = ((TSourceToken)arg2).ToString();
				return;
			case EIndexOptionType.iotComment:
				this._indexComment = (TConstant)arg2;
				break;
			default:
				return;
			}
		}

		// Token: 0x1700087E RID: 2174
		// (get) Token: 0x06002699 RID: 9881 RVA: 0x0033AB6E File Offset: 0x00338D6E
		// (set) Token: 0x06002698 RID: 9880 RVA: 0x0033AB65 File Offset: 0x00338D65
		public virtual TMySQLIndexStorageType IndexStorageType
		{
			get
			{
				return this.indexStorageType;
			}
			set
			{
				this.indexStorageType = value;
			}
		}

		// Token: 0x04001D33 RID: 7475
		private TConstant _keyBlockSize;

		// Token: 0x04001D34 RID: 7476
		private TConstant _indexComment;

		// Token: 0x04001D35 RID: 7477
		private string _parserName;

		// Token: 0x04001D36 RID: 7478
		private EIndexOptionType _indexOptionType;

		// Token: 0x04001D37 RID: 7479
		private TMySQLIndexStorageType indexStorageType;
	}
}
